package com.gpframework.module.brand.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gpframework.common.annotation.Excel;
import com.gpframework.module.common.domain.CommonResource;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * @ClassName BrandSuggestVo
 * @Author gpframework
 * @Date 2022-04-08
 * @Version 1.0.0
 * @Description 投诉建议Vo对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class BrandSuggestVo {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @ApiModelProperty("id")
    private Long suggestId;

    /**
     * 品牌id
     */
    @ApiModelProperty("品牌id")
    private Long brandId;

    /**
     * 店铺id
     */
    @ApiModelProperty("店铺id")
    private Long storeId;

    /**
     * 品牌名称
     */
    @ApiModelProperty("品牌名称")
    private String brandName;

    /**
     * 店铺名称
     */
    @Excel(name = "门店")
    @ApiModelProperty("店铺名称")
    private String storeName;

    /**
     * 头像
     */
    @Excel(name = "头像")
    @ApiModelProperty("头像")
    private String headImage;

    /**
     * 业务类型;投诉、建议
     */
    @Excel(name = "建议类型", dictType = "member_suggest")
    @ApiModelProperty("业务类型;投诉、建议")
    private String businessType;

    /**
     * 业务名称
     */
    @Excel(name = "业务名称")
    @ApiModelProperty("业务名称")
    private String businessName;

    /**
     * 投诉用户id
     */
    @ApiModelProperty("投诉用户id")
    private Long userId;

    /**
     * 投诉用户名称
     */
    @Excel(name = "建议人")
    @ApiModelProperty("投诉用户名称")
    private String userName;

    @ApiModelProperty("投诉用户电话号码")
    private String phone;

    /**
     * 被投诉用户id
     */
    @ApiModelProperty("被投诉用户id")
    private Long toUserId;

    /**
     * 被投诉用户名称
     */
    @ApiModelProperty("被投诉用户名称")
    private String toUserName;

    /**
     * 存储相对路径
     */
    @Excel(name = "存储相对路径")
    @ApiModelProperty("存储相对路径")
    private List<String> resourceUrls;

    /**
     * 资源
     */
    @Excel(name = "资源")
    @ApiModelProperty("资源")
    private List<CommonResource> resources;

    /**
     * 内容
     */
    @Excel(name = "建议内容")
    @ApiModelProperty("内容")
    private String content;

    /**
     * 回复用户id
     */
    @ApiModelProperty("回复用户id")
    private Long replyUserId;

    /**
     * 排序
     */
    @ApiModelProperty("排序")
    private Integer sort;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remarks;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private String createBy;

    /**
     * 更新者
     */
    @ApiModelProperty("更新者")
    private String updateBy;

    /**
     * 创建时间
     */
    @Excel(name = "反馈时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 回复时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "回复时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "回复时间", required = true)
    private Date replyTime;

    @Excel(name = "回复内容")
    @ApiModelProperty("回复内容")
    private String replyContent;

    /**
     * 更新时间
     */
    @Excel(name = "回复时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("更新时间")
    private Date updateTime;

    /**
     * 回复用户名称
     */
    @Excel(name = "回复人")
    @ApiModelProperty("回复用户名称")
    private String replyUserName;

}
